<template>
	<view class="bgIndex">
		<sunui-navbar :items="tabList" lineHeight="70rpx" :isCenter="true" :currentIndex="currentIndex" padding="12rpx"
			activeColor="#785DF6" :size="100" activeLineBg="#785DF6" textAlign="center" activeLineWidth="100%"
			activeDirection="space-between" activeLineHeight="5rpx" bgColor="#fff" :margin="20"
			@change="e=>getChange(e,tabList[e].id)"></sunui-navbar>
		<view class="padding20">


			<view class="search-content ">

				<image class="search-img" :src="search" mode=""></image>
				<input placeholder="请搜索服务标题" v-model="searchVal" @input="changeInput" @confirm="changeSearch"
					style="width: auto;line-height: 1em; " placeholder-style="font-size:28rpx;color:#A1A1A1;" />

			</view>
			<mescroll-body ref="mescrollRef" :height="windowHeight+'rpx'" @init="mescrollInit" @down="downCallback"
				@up="upCallback" :up="upOption" :down="downOption">
				<view class="buildList" v-for="(item,index) in list" @click="goDeatilFn(item)">
					<!-- <view class="font-weight margin-bottom_20rpx flex-start-center" style="color: #666666;">
					<text>搭子号：dazizi252141541447</text>
					<view class="copy flex margin-left_10rpx">
						<text class="">
							复制
						</text>
					</view>
				</view> -->
					<view class="flex-end-top ">
						<view class="orderLocation">
							<image class="orderImg" :src="item.content_img" mode=""></image>

						</view>
						<view class="margin-left_16rpx flex-columns" style="width:454rpx;height: 200rpx;">
							<view class="font-overflow2 font-weight" style="width:100%">
								{{item.title}}


							</view>


							<view class="font-overflow2">
								<text style="color: #999999;">
									{{item.vice_title}}
								</text>


							</view>

							<view class="">
								<text class="font-weight"
									style="color: red ; margin-right: 10rpx;">{{item.price}}</text><text
									style="color:#999999">{{currency_name}}/{{item.work_time}}服务时长</text>
							</view>

						</view>

					</view>


					<view class="flex-between margin-top_20rpx" style="width: 100%;">
						<view class="">
							<text>下单时间：{{item.create_time}}</text>
						</view>
						<view class=" flex-end ">

							<view class="confirmReceipt  flex" v-if="item.order_status==3"
								@click.stop="confirmReceiptFn(item.service_order_id)">
								<text>确定收货</text>
							</view>
							<view class="evaluate flex" v-if="item.order_status==4&&item.is_comment==0"
								@click.stop="evaluateFn(item)">
								<text>立即评价</text>
							</view>
						</view>
					</view>
					<view class="" v-if="item.order_status==5">
						<text style="color: red;">拒绝原因:{{item.service_order_remark}}</text>
					</view>
					<!-- orderStatused -->
					<view class="orderStatus flex">
						<text>{{orderStatusFn(item.order_status)}}</text>
					</view>
				</view>
			</mescroll-body>
			<!-- 	<view class="buildList">
				<view class="font-weight margin-bottom_20rpx flex-start-center" style="color: #666666;">
					<text>搭子号：dazizi252141541447</text>
					<view class="copy flex margin-left_10rpx">
						<text class="">
							复制
						</text>
					</view>
				</view>
				<view class="flex-end-top ">
					<view class="orderLocation">
						<image class="orderImg" src="https://n8.weijuyunke.com/2024-06-07/f8292202406071854496600.png"
							mode=""></image>
						
					</view>
					<view class="margin-left_16rpx flex-columns" style="width:454rpx;height: 200rpx;">
						<view class="font-overflow2 font-weight" style="width:100%">
							端午节去长沙寻找组队搭子
			
			
						</view>
						
			
						<view class="font-overflow2">
							<text style="color: #999999;">全赛季的巅峰王者全能补位，巅峰赛1800全赛季的巅峰王者全能补位，巅峰赛1800 展开全赛季的巅峰王者全能补位，巅峰赛1800全赛季的巅峰王者全能补位，巅峰赛1800 展开全赛季的巅峰王者全能补位，巅峰赛1800全赛
				             </text>				
								
								
						</view>
						<view class="flex-start-center margin-top_10rpx">
							<cc-countdown color="#FFF" background-color="#A561FF" splitorColor="#A561FF" :showColon="true"
								:showDay="true" :day="1" :hour="24" :minute="0" :second="0" @timeup="timeup"></cc-countdown>
						</view>
						<view class="">
							<text class="font-weight" style="color: red;">18</text><text style="color:#999999">/局</text>
						</view>
			
			
					</view>
			
				</view>
				
				
				<view class="flex-between margin-top_20rpx" style="width: 100%;">
					<view class="">
						<text>发布时间：2024.10.32 15:32</text>
					</view>
					 <view class=" flex-end " >
					     
					
					 	<view class="confirmReceipt  flex">
					 	 	<text>确定收货</text>
					 	 </view>
					 </view>
				</view>
				<view class="orderStatus flex">
					<text>进行中</text>
				</view>
			</view> -->






		</view>

	</view>
</template>

<script>
	export default {
		components: {

		},
		data() {
			return {
				currency_name:uni.getStorageSync('system').currency_name,
				search: this.$img.search,
				userInfo: uni.getStorageSync("userInfo"),
				downOption: {
					auto: false
				},
				// 上拉配置项
				upOption: {
					auto: true
				},
				list: [],
				windowHeight: 0,
				currentIndex: 0,
				tabList: [{
					name: '全部',
					id: '0' //null
				}, {
					name: '待接单',
					id: '1' //null
				}, {
					name: '接单中',
					id: '2' //null
				}, {
					name: '完成',
					id: '3' //null
				}, {
					name: '已结算',
					id: '4' //null
				}, {
					name: '拒绝订单',
					id: '5' //null
				}, ],
				detailInfo: [],
				status: 0,
				searchVal: ''

			}
		},

		onLoad() {
			uni.getSystemInfo({
				success: (res) => {
					this.windowHeight = res.windowHeight * 2 - 800;
				}
			});
		},

		onShow() {
			this.$nextTick(() => {
				this.mescroll?.resetUpScroll();
			})
		},
		computed: {

			// 订单状态 '1 待审核 2 上架中 3 下架 4 驳回',
			orderStatusFn: function() {
				return function(status) {
					// 1 待接单 2 接单中 3 完成 4 已结算 4拒绝订单
					let orderStatus = '';

					orderStatus =
						status == 0 ? '待接单' : status == 1 ? '待接单' : status == 2 ? '接单中' : status == 3 ? '完成' :
						status == 4 ? '已结算' : '拒绝订单';

					return orderStatus;
				};
			},
		},
		methods: {
			goDeatilFn(item) {

				this.$sun.navGo('/pagesB/index/serviceDetails', {
					id: item.id,
					orderUser: true
				})

			},
			changeInput(e) {
				console.log(e)
				this.searchVal = e.detail.value
				this.mescroll?.resetUpScroll();
			},

			getChange(index, id) {
				console.log(index, id)
				this.status = id
				this.currentIndex = index
				this.$nextTick(() => {
					this.mescroll?.resetUpScroll();
				})

			},

			// 立即评价
			evaluateFn(item) {
				if(this.userInfo.disable==0){
					this.$sun.toast('当前用户已被拉黑','none')
				}else{
					this.$sun.navGo('/pagesA/personalCenter/orderEvaluation', {
						...item
					})
				}
			},
			confirmReceiptFn(id) {
				if(this.userInfo.disable==0){
					this.$sun.toast('当前用户已被拉黑','none')
				}else{
					this.$at.uniDoFunc({
						key: 'confirmSubmit',
						success: async () => {
							this.$at.lockKey('confirmSubmit');
					
					
					
					
							const result = await this.$http.post({
								url: this.$api.settlementService,
								data: {
									id: id
					
								},
								headers: {
									'Authorization': this.userInfo.token
								}
					
							})
							if (result.code == 0) {
					
								this.$sun.toast(result.message, 'none')
					
								setTimeout(() => {
									this.mescroll?.resetUpScroll();
								}, 500)
					
					
					
							} else {
								this.$sun.toast(result.message, 'none')
							}
					
							this.$at.releaseKey('confirmSubmit');
						}
					});
				}
			},
			async upCallback(scroll) {

				const result = await this.$http.post({
					url: this.$api.serviceUserOrder,
					data: {
						page: scroll.num,
						limit: 10,
						order_status: this.status,
						title:this.searchVal,
						is_oneself_uid: this.userInfo.id,




					},
					headers: {
						'Authorization': this.userInfo.token
					}

				})


				if (result.code == 0) {

					this.mescroll.endByPage(result.data.list.length, this.$sun.pagingSum(result.data.count, 10));
					if (scroll.num == 1) this.list = [];

					this.list = this.list.concat(result.data.list);

					// 		this.list.forEach((item) => {

					// 			item.labelList = item.label.split(",")
					// 		})



					console.log('this.list', this.list, this.list.length);
				} else {
					this.$sun.toast(result.message, 'none')
				}


			},
		}
	}
</script>

<style lang="less" scoped>
	.bgIndex {

		.search-content {

			// justify-content: center;
			display: flex;
			align-items: center;
			// margin: 20rpx;
			height: 76rpx;

			background: rgb(255, 255, 255);
			;
			border-radius: 84rpx;


			.search-img {
				width: 30rpx;
				height: 30rpx;
				margin-right: 20rpx;
				margin-left: 20rpx;
			}

			.address-img {
				width: 30rpx;
				height: 30rpx;
				margin-right: 10rpx;
				margin-left: 20rpx;
			}

			.icon_close {
				padding: 0rpx 15rpx;
				width: 36rpx;
				height: 36rpx;
				margin-right: 30rpx;
			}

		}

		.buildList {
			position: relative;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			padding: 20rpx;
			background: rgb(255, 255, 255);
			margin-top: 20rpx;
			border-radius: 20rpx;

			.copy {
				width: 78rpx;
				height: 42rpx;
				border-radius: 98rpx;
				color: #999999;
				background: rgb(240, 240, 240);
			}

			.privateChat {

				height: 24px;
				padding: 0 5rpx;
				box-sizing: border-box;
				border: 1px solid rgb(98, 54, 255);
				border-radius: 6px;
				color: #6236FF;
				background: rgb(255, 255, 255);

				.chatImg {
					width: 25.54rpx;
					height: 24.96rpx;
					margin-right: 5rpx;
				}
			}

			.contactHost {
				width: 158rpx;
				height: 52rpx;
				color: #785DF6;
				box-sizing: border-box;
				border: 2rpx solid rgb(120, 93, 246);
				border-radius: 116rpx;

				background: rgb(255, 255, 255);

				.chatImg {
					width: 25.54rpx;
					height: 24.96rpx;
					margin-right: 10rpx;
				}
			}

			.exitActivity {
				width: 158rpx;
				height: 52rpx;
				color: red;
				box-sizing: border-box;
				border: 2rpx solid red;
				border-radius: 116rpx;

				background: rgb(255, 255, 255);

				.chatImg {
					width: 25.54rpx;
					height: 24.96rpx;
					margin-right: 10rpx;
				}
			}

			.viewDetails {
				width: 158rpx;
				height: 52rpx;
				color: rgb(51, 51, 51);
				box-sizing: border-box;
				border: 2rpx solid rgb(240, 240, 240);
				border-radius: 116rpx;

				background: rgb(255, 255, 255);

				.chatImg {
					width: 25.54rpx;
					height: 24.96rpx;
					margin-right: 10rpx;
				}
			}

			.orderStatus {
				position: absolute;
				right: 0;
				top: 0;
				width: 106rpx;
				height: 48rpx;
				border-radius: 0rpx 20rpx 0rpx 20rpx;
				color: #fff;
				background: rgb(120, 93, 246);
			}

			.orderStatused {
				position: absolute;
				right: 0;
				top: 0;
				width: 106rpx;
				height: 48rpx;
				border-radius: 0rpx 20rpx 0rpx 20rpx;
				color: #fff;
				background: #AEAEAE;
			}

			.orderLocation {
				position: relative;

				.orderStatusImg {
					position: absolute;
					left: 0;
					top: 0;
					width: 106rpx;
					height: 48rpx;
					border-radius: 16rpx 0rpx 16rpx 0rpx;
					color: #fff;
					background: rgb(224, 32, 32);
					z-index: 999;
				}

				.orderStatusImged {
					position: absolute;
					left: 0;
					top: 0;
					width: 106rpx;
					height: 48rpx;
					border-radius: 16rpx 0rpx 16rpx 0rpx;
					color: #fff;
					border-radius: 16rpx 0rpx 16rpx 0rpx;

					background: rgb(0, 0, 0);
					z-index: 999;
				}
			}

			.acceptingOrders {
				width: 148rpx;
				height: 66rpx;
				border-radius: 0rpx 0rpx 18rpx 0rpx;
				color: #fff;
				background: rgb(250, 100, 1);
				margin: 0 -20rpx -20rpx 0;
			}

			.evaluate {
				width: 148rpx;
				height: 66rpx;
				border-radius: 20rpx 0rpx 18rpx 0rpx;
				color: #fff;
				background: rgb(98, 54, 255);
				margin: 0 -20rpx -20rpx 0;
			}

			.endOrder {
				width: 148rpx;
				height: 60rpx;
				border-radius: 20rpx 0rpx 18rpx 0rpx;
				color: #fff;
				background: rgb(224, 32, 32);
				margin: 0 -20rpx -20rpx 0;
			}

			.confirmReceipt {
				width: 148rpx;
				height: 60rpx;
				border-radius: 20rpx 0rpx 18rpx 0rpx;
				color: #fff;
				background: rgb(250, 100, 1);
				margin: 0 -20rpx -20rpx 0;
			}

			.rejectOrder {
				width: 154rpx;
				height: 66rpx;
				border-radius: 20rpx 0rpx 0rpx 0rpx;
				color: #fff;
				background: rgb(0, 0, 0);
				margin: 0 0rpx -20rpx 0;
			}

			.orderStatused {
				position: absolute;
				right: 0;
				top: 0;
				width: 106rpx;
				height: 48rpx;
				border-radius: 0rpx 20rpx 0rpx 20rpx;
				color: #999999;
				background: rgb(236, 235, 235);
			}

			.tagImg {
				width: 118rpx;
				height: 38rpx;
			}

			.addImg {
				width: 30.02rpx;
				height: 30.02rpx;
			}

			.tagTitle {
				padding: 10rpx 20rpx;
				height: 36rpx;
				border-radius: 12rpx 12rpx 24rpx 12rpx;
				font-size: 20rpx;
				color: rgb(0, 198, 141);
				background: rgb(212, 255, 249);
				margin-right: 5rpx;
			}

			.avaterImg {
				width: 50rpx;
				height: 50rpx;
				border-radius: 50%;
				margin-right: 8rpx;
			}

			.tagTitleGay {
				padding: 10rpx 20rpx;
				height: 36rpx;
				border-radius: 12rpx 12rpx 24rpx 12rpx;
				font-size: 20rpx;
				color: #666666;
				background: #F5F5F5;
				margin-right: 5rpx;
			}

			.tagTitleOrange {
				padding: 10rpx 20rpx;
				height: 36rpx;
				border-radius: 12rpx 12rpx 24rpx 12rpx;
				font-size: 20rpx;
				color: rgb(238, 100, 41);
				background: rgba(238, 100, 41, 0.13);
				;
				margin-right: 5rpx;
			}

			.tagTitlePink {
				width: 116rpx;
				height: 36rpx;
				border-radius: 12rpx 12rpx 24rpx 12rpx;
				font-size: 20rpx;
				color: #F95CEF;
				background: #FFF2F8;
				margin-right: 5rpx;
			}

			.location {
				width: 110rpx;
				height: 48rpx;
				border-radius: 20rpx;

				background: rgb(235, 245, 255);
			}

			.v-p-share {
				padding: 2rpx 2rpx 0 2rpx;

				.v-m-width {
					margin-right: 40rpx;

					.pt_img {
						width: 50rpx;
						height: 50rpx;
						margin-right: -30rpx;
						border-radius: 50%;
					}
				}

				.v-share-friend {
					text {
						color: #294d7d;
						font-size: 24rpx;
						padding-right: 50rpx;
					}

					view {
						color: #ffffff;
						width: 154rpx;
						height: 58rpx;
					}
				}

				.v-share-friend2 {
					text {
						color: #294d7d;
						font-size: 24rpx;
					}
				}
			}

			.editImg {
				width: 20px;
				height: 20px;
				margin-bottom: 8rpx;
			}

			.orderImg {
				width: 192rpx;
				height: 192rpx;
				border-radius: 30rpx;


			}

			.addressImg {
				width: 28.5rpx;
				height: 28.12rpx;
			}
		}

		.PublishTag {
			z-index: 99;
			width: 95%;
			height: 102rpx;
			border-radius: 142rpx;
			color: #fff;
			position: fixed;

			bottom: 20rpx;
			background: rgb(120, 93, 246);
		}

	}
</style>